\begin{figure}[ht!]
\begin{center}
\begin{tikzpicture}
[scale=0.65, nodes={scale=0.65, minimum size=26},
yellownode/.style={draw=yellow!50,fill=yellow!30,rounded corners},
orangenode/.style={draw=orange!50,fill=orange!30,rounded corners},
cyannode/.style={draw=cyan!50,fill=cyan!30,rounded corners},
purplenode/.style={draw=purple!50,fill=purple!30,rounded corners},
olivenode/.style={draw=olive!50,fill=olive!30,rounded corners},
bluenode/.style={draw=blue!50,fill=blue!30,rounded corners},
magentanode/.style={draw=magenta!50,fill=magenta!30,rounded corners},
cyancell/.style={draw=cyan!30,fill=cyan!30},
purplecell/.style={draw=purple!30,fill=purple!30},
redcell/.style={draw=red!50,fill=red!50},
lbluecell/.style={draw=blue!10,fill=blue!10},
yellowcell/.style={draw=yellow!30,fill=yellow!30},
magentacell/.style={draw=magenta!30,fill=magenta!30},
greencell/.style={draw=green!50,fill=green!50},
olivecell/.style={draw=olive!30,fill=olive!30},
orangecell/.style={draw=orange!30,fill=orange!30},
]
{
\node(0) at (9,0.0) [bluenode] {0..18};
\node(1) at (5,-1.5) [bluenode] {0..10};
\node(2) at (3,-3.0) [bluenode] {0..5};
\node(3) at (1,-4.5) [orangenode] {0..2};
\node(4) at (1,-6.0) [orangenode] {0..1};
\node(8) at (4,-4.5) [magentanode] {3..5};
\node(9) at (4,-6.0) [magentanode] {3..4};
\node(13) at (8,-3.0) [bluenode] {6..10};
\node(14) at (8,-4.5) [cyannode] {6..9};
\node(15) at (7,-6.0) [cyannode] {6..8};
\node(17) at (8,-7.5) [purplenode] {7..8};
\node(22) at (15,-1.5) [bluenode] {11..18};
\node(23) at (14,-3.0) [bluenode] {11..16};
\node(24) at (13,-4.5) [yellownode] {11..15};
\node(25) at (13,-6.0) [yellownode] {11..14};
\node(27) at (13,-7.5) [olivenode] {12..14};
\node(28) at (13,-9.0) [olivenode] {12..13};
\node(34) at (18,-3.0) [bluenode] {17..18};
\node(35) at (17,-10.5) [bluenode] {17};
\node(32) at (15,-10.5) [yellownode] {15};
\node(33) at (16,-10.5) [bluenode] {16};
\node(5) at (0,-10.5) [orangenode] {0};
\node(36) at (18,-10.5) [bluenode] {18};
\node(6) at (1,-10.5) [orangenode] {1};
\node(7) at (2,-10.5) [orangenode] {2};
\node(10) at (3,-10.5) [magentanode] {3};
\node(11) at (4,-10.5) [magentanode] {4};
\node(12) at (5,-10.5) [magentanode] {5};
\node(16) at (6,-10.5) [cyannode] {6};
\node(19) at (8,-10.5) [purplenode] {8};
\node(18) at (7,-10.5) [purplenode] {7};
\node(21) at (10,-10.5) [bluenode] {10};
\node(20) at (9,-10.5) [cyannode] {9};
\node(26) at (11,-10.5) [yellownode] {11};
\node(29) at (12,-10.5) [olivenode] {12};
\node(31) at (14,-10.5) [olivenode] {14};
\node(30) at (13,-10.5) [olivenode] {13};
\node(37) at (0,-11.7) [redcell] {12};
\node(38) at (1,-11.7) [redcell] {7};
\node(39) at (2,-11.7) [redcell] {13};
\node(40) at (3,-11.7) [redcell] {9};
\node(41) at (4,-11.7) [redcell] {5};
\node(42) at (5,-11.7) [redcell] {17};
\node(43) at (6,-11.7) [redcell] {10};
\node(44) at (7,-11.7) [redcell] {3};
\node(45) at (8,-11.7) [redcell] {15};
\node(46) at (9,-11.7) [redcell] {1};
\node(47) at (10,-11.7) [redcell] {0};
\node(48) at (11,-11.7) [redcell] {11};
\node(49) at (12,-11.7) [redcell] {8};
\node(50) at (13,-11.7) [redcell] {4};
\node(51) at (14,-11.7) [redcell] {16};
\node(52) at (15,-11.7) [redcell] {2};
\node(53) at (16,-11.7) [redcell] {14};
\node(54) at (17,-11.7) [redcell] {6};
\node(55) at (18,-11.7) [redcell] {18};
\draw[rounded corners, style=densely dotted] (-0.6,-11.1) rectangle (20.6,-12.3);
\node at (19.5,-11.7) {\textit{suftab}};
\node(56) at (0,-13.0) [greencell] {-1};
\node(57) at (1,-13.0) [greencell] {1};
\node(58) at (2,-13.0) [greencell] {1};
\node(59) at (3,-13.0) [greencell] {0};
\node(60) at (4,-13.0) [greencell] {1};
\node(61) at (5,-13.0) [greencell] {1};
\node(62) at (6,-13.0) [greencell] {0};
\node(63) at (7,-13.0) [greencell] {2};
\node(64) at (8,-13.0) [greencell] {3};
\node(65) at (9,-13.0) [greencell] {2};
\node(66) at (10,-13.0) [greencell] {0};
\node(67) at (11,-13.0) [greencell] {0};
\node(68) at (12,-13.0) [greencell] {1};
\node(69) at (13,-13.0) [greencell] {2};
\node(70) at (14,-13.0) [greencell] {2};
\node(71) at (15,-13.0) [greencell] {1};
\node(72) at (16,-13.0) [greencell] {0};
\node(73) at (17,-13.0) [greencell] {0};
\node(74) at (18,-13.0) [greencell] {0};
\draw[rounded corners, style=densely dotted] (-0.6,-12.4) rectangle (20.6,-13.6);
\node at (19.5,-13.0) {\textit{lcptab}};
\node(75) at (0,-14.3) [orangecell] {\textbf{e}};
\node(76) at (1,-14.3) [orangecell] {\textbf{e}};
\node(77) at (2,-14.3) [orangecell] {\textbf{e}};
\node(78) at (3,-14.3) [magentacell] {\textbf{g}};
\node(79) at (4,-14.3) [magentacell] {\textbf{g}};
\node(80) at (5,-14.3) [magentacell] {\textbf{g}};
\node(81) at (6,-14.3) [cyancell] {\textbf{i}};
\node(82) at (6,-15.3) [cyancell] {\textbf{n}};
\node(83) at (7,-14.3) [cyancell] {\textbf{i}};
\node(84) at (7,-15.3) [cyancell] {\textbf{n}};
\node(85) at (8,-14.3) [cyancell] {\textbf{i}};
\node(86) at (8,-15.3) [cyancell] {\textbf{n}};
\node(87) at (9,-14.3) [cyancell] {\textbf{i}};
\node(88) at (9,-15.3) [cyancell] {\textbf{n}};
\node(89) at (7,-16.3) [purplecell] {\textbf{g}};
\node(90) at (8,-16.3) [purplecell] {\textbf{g}};
\node(91) at (11,-14.3) [yellowcell] {\textbf{n}};
\node(92) at (12,-14.3) [yellowcell] {\textbf{n}};
\node(93) at (13,-14.3) [yellowcell] {\textbf{n}};
\node(94) at (14,-14.3) [yellowcell] {\textbf{n}};
\node(95) at (15,-14.3) [yellowcell] {\textbf{n}};
\node(96) at (12,-15.3) [olivecell] {\textbf{g}};
\node(97) at (13,-15.3) [olivecell] {\textbf{g}};
\node(98) at (14,-15.3) [olivecell] {\textbf{g}};
\node(99) at (0,-15.3) [lbluecell] {\textbf{e}};
\node(100) at (0,-16.3) [lbluecell] {\textbf{r}};
\node(101) at (0,-17.3) [lbluecell] {\textbf{i}};
\node(102) at (0,-18.3) [lbluecell] {\textbf{n}};
\node(103) at (0,-19.3) [lbluecell] {\textbf{g}};
\node(104) at (0,-20.3) [lbluecell] {\textbf{\#}};
\node(105) at (1,-15.3) [lbluecell] {\textbf{n}};
\node(106) at (1,-16.3) [lbluecell] {\textbf{g}};
\node(107) at (1,-17.3) [lbluecell] {\textbf{i}};
\node(108) at (1,-18.3) [lbluecell] {\textbf{n}};
\node(109) at (1,-19.3) [lbluecell] {\textbf{e}};
\node(110) at (1,-20.3) [lbluecell] {\textbf{e}};
\node(111) at (1,-21.3) [lbluecell] {\textbf{r}};
\node(112) at (1,-22.3) [lbluecell] {\textbf{i}};
\node(113) at (1,-23.3) [lbluecell] {\textbf{n}};
\node(114) at (1,-24.3) [lbluecell] {\textbf{g}};
\node(115) at (1,-25.3) [lbluecell] {\textbf{\#}};
\node(116) at (2,-15.3) [lbluecell] {\textbf{r}};
\node(117) at (2,-16.3) [lbluecell] {\textbf{i}};
\node(118) at (2,-17.3) [lbluecell] {\textbf{n}};
\node(119) at (2,-18.3) [lbluecell] {\textbf{g}};
\node(120) at (2,-19.3) [lbluecell] {\textbf{\#}};
\node(121) at (3,-15.3) [lbluecell] {\textbf{i}};
\node(122) at (3,-16.3) [lbluecell] {\textbf{n}};
\node(123) at (3,-17.3) [lbluecell] {\textbf{e}};
\node(124) at (3,-18.3) [lbluecell] {\textbf{e}};
\node(125) at (3,-19.3) [lbluecell] {\textbf{r}};
\node(126) at (3,-20.3) [lbluecell] {\textbf{i}};
\node(127) at (3,-21.3) [lbluecell] {\textbf{n}};
\node(128) at (3,-22.3) [lbluecell] {\textbf{g}};
\node(129) at (3,-23.3) [lbluecell] {\textbf{\#}};
\node(130) at (4,-15.3) [lbluecell] {\textbf{␣}};
\node(131) at (4,-16.3) [lbluecell] {\textbf{e}};
\node(132) at (4,-17.3) [lbluecell] {\textbf{n}};
\node(133) at (4,-18.3) [lbluecell] {\textbf{g}};
\node(134) at (4,-19.3) [lbluecell] {\textbf{i}};
\node(135) at (4,-20.3) [lbluecell] {\textbf{n}};
\node(136) at (4,-21.3) [lbluecell] {\textbf{e}};
\node(137) at (4,-22.3) [lbluecell] {\textbf{e}};
\node(138) at (4,-23.3) [lbluecell] {\textbf{r}};
\node(139) at (4,-24.3) [lbluecell] {\textbf{i}};
\node(140) at (4,-25.3) [lbluecell] {\textbf{n}};
\node(141) at (4,-26.3) [lbluecell] {\textbf{g}};
\node(142) at (4,-27.3) [lbluecell] {\textbf{\#}};
\node(143) at (5,-15.3) [lbluecell] {\textbf{\#}};
\node(144) at (6,-16.3) [lbluecell] {\textbf{e}};
\node(145) at (6,-17.3) [lbluecell] {\textbf{e}};
\node(146) at (6,-18.3) [lbluecell] {\textbf{r}};
\node(147) at (6,-19.3) [lbluecell] {\textbf{i}};
\node(148) at (6,-20.3) [lbluecell] {\textbf{n}};
\node(149) at (6,-21.3) [lbluecell] {\textbf{g}};
\node(150) at (6,-22.3) [lbluecell] {\textbf{\#}};
\node(151) at (7,-17.3) [lbluecell] {\textbf{␣}};
\node(152) at (7,-18.3) [lbluecell] {\textbf{e}};
\node(153) at (7,-19.3) [lbluecell] {\textbf{n}};
\node(154) at (7,-20.3) [lbluecell] {\textbf{g}};
\node(155) at (7,-21.3) [lbluecell] {\textbf{i}};
\node(156) at (7,-22.3) [lbluecell] {\textbf{n}};
\node(157) at (7,-23.3) [lbluecell] {\textbf{e}};
\node(158) at (7,-24.3) [lbluecell] {\textbf{e}};
\node(159) at (7,-25.3) [lbluecell] {\textbf{r}};
\node(160) at (7,-26.3) [lbluecell] {\textbf{i}};
\node(161) at (7,-27.3) [lbluecell] {\textbf{n}};
\node(162) at (7,-28.3) [lbluecell] {\textbf{g}};
\node(163) at (7,-29.3) [lbluecell] {\textbf{\#}};
\node(164) at (8,-17.3) [lbluecell] {\textbf{\#}};
\node(165) at (9,-16.3) [lbluecell] {\textbf{i}};
\node(166) at (9,-17.3) [lbluecell] {\textbf{n}};
\node(167) at (9,-18.3) [lbluecell] {\textbf{g}};
\node(168) at (9,-19.3) [lbluecell] {\textbf{␣}};
\node(169) at (9,-20.3) [lbluecell] {\textbf{e}};
\node(170) at (9,-21.3) [lbluecell] {\textbf{n}};
\node(171) at (9,-22.3) [lbluecell] {\textbf{g}};
\node(172) at (9,-23.3) [lbluecell] {\textbf{i}};
\node(173) at (9,-24.3) [lbluecell] {\textbf{n}};
\node(174) at (9,-25.3) [lbluecell] {\textbf{e}};
\node(175) at (9,-26.3) [lbluecell] {\textbf{e}};
\node(176) at (9,-27.3) [lbluecell] {\textbf{r}};
\node(177) at (9,-28.3) [lbluecell] {\textbf{i}};
\node(178) at (9,-29.3) [lbluecell] {\textbf{n}};
\node(179) at (9,-30.3) [lbluecell] {\textbf{g}};
\node(180) at (9,-31.3) [lbluecell] {\textbf{\#}};
\node(181) at (10,-14.3) [lbluecell] {\textbf{m}};
\node(182) at (10,-15.3) [lbluecell] {\textbf{i}};
\node(183) at (10,-16.3) [lbluecell] {\textbf{n}};
\node(184) at (10,-17.3) [lbluecell] {\textbf{i}};
\node(185) at (10,-18.3) [lbluecell] {\textbf{n}};
\node(186) at (10,-19.3) [lbluecell] {\textbf{g}};
\node(187) at (10,-20.3) [lbluecell] {\textbf{␣}};
\node(188) at (10,-21.3) [lbluecell] {\textbf{e}};
\node(189) at (10,-22.3) [lbluecell] {\textbf{n}};
\node(190) at (10,-23.3) [lbluecell] {\textbf{g}};
\node(191) at (10,-24.3) [lbluecell] {\textbf{i}};
\node(192) at (10,-25.3) [lbluecell] {\textbf{n}};
\node(193) at (10,-26.3) [lbluecell] {\textbf{e}};
\node(194) at (10,-27.3) [lbluecell] {\textbf{e}};
\node(195) at (10,-28.3) [lbluecell] {\textbf{r}};
\node(196) at (10,-29.3) [lbluecell] {\textbf{i}};
\node(197) at (10,-30.3) [lbluecell] {\textbf{n}};
\node(198) at (10,-31.3) [lbluecell] {\textbf{g}};
\node(199) at (10,-32.3) [lbluecell] {\textbf{\#}};
\node(200) at (11,-15.3) [lbluecell] {\textbf{e}};
\node(201) at (11,-16.3) [lbluecell] {\textbf{e}};
\node(202) at (11,-17.3) [lbluecell] {\textbf{r}};
\node(203) at (11,-18.3) [lbluecell] {\textbf{i}};
\node(204) at (11,-19.3) [lbluecell] {\textbf{n}};
\node(205) at (11,-20.3) [lbluecell] {\textbf{g}};
\node(206) at (11,-21.3) [lbluecell] {\textbf{\#}};
\node(207) at (12,-16.3) [lbluecell] {\textbf{i}};
\node(208) at (12,-17.3) [lbluecell] {\textbf{n}};
\node(209) at (12,-18.3) [lbluecell] {\textbf{e}};
\node(210) at (12,-19.3) [lbluecell] {\textbf{e}};
\node(211) at (12,-20.3) [lbluecell] {\textbf{r}};
\node(212) at (12,-21.3) [lbluecell] {\textbf{i}};
\node(213) at (12,-22.3) [lbluecell] {\textbf{n}};
\node(214) at (12,-23.3) [lbluecell] {\textbf{g}};
\node(215) at (12,-24.3) [lbluecell] {\textbf{\#}};
\node(216) at (13,-16.3) [lbluecell] {\textbf{␣}};
\node(217) at (13,-17.3) [lbluecell] {\textbf{e}};
\node(218) at (13,-18.3) [lbluecell] {\textbf{n}};
\node(219) at (13,-19.3) [lbluecell] {\textbf{g}};
\node(220) at (13,-20.3) [lbluecell] {\textbf{i}};
\node(221) at (13,-21.3) [lbluecell] {\textbf{n}};
\node(222) at (13,-22.3) [lbluecell] {\textbf{e}};
\node(223) at (13,-23.3) [lbluecell] {\textbf{e}};
\node(224) at (13,-24.3) [lbluecell] {\textbf{r}};
\node(225) at (13,-25.3) [lbluecell] {\textbf{i}};
\node(226) at (13,-26.3) [lbluecell] {\textbf{n}};
\node(227) at (13,-27.3) [lbluecell] {\textbf{g}};
\node(228) at (13,-28.3) [lbluecell] {\textbf{\#}};
\node(229) at (14,-16.3) [lbluecell] {\textbf{\#}};
\node(230) at (15,-15.3) [lbluecell] {\textbf{i}};
\node(231) at (15,-16.3) [lbluecell] {\textbf{n}};
\node(232) at (15,-17.3) [lbluecell] {\textbf{g}};
\node(233) at (15,-18.3) [lbluecell] {\textbf{␣}};
\node(234) at (15,-19.3) [lbluecell] {\textbf{e}};
\node(235) at (15,-20.3) [lbluecell] {\textbf{n}};
\node(236) at (15,-21.3) [lbluecell] {\textbf{g}};
\node(237) at (15,-22.3) [lbluecell] {\textbf{i}};
\node(238) at (15,-23.3) [lbluecell] {\textbf{n}};
\node(239) at (15,-24.3) [lbluecell] {\textbf{e}};
\node(240) at (15,-25.3) [lbluecell] {\textbf{e}};
\node(241) at (15,-26.3) [lbluecell] {\textbf{r}};
\node(242) at (15,-27.3) [lbluecell] {\textbf{i}};
\node(243) at (15,-28.3) [lbluecell] {\textbf{n}};
\node(244) at (15,-29.3) [lbluecell] {\textbf{g}};
\node(245) at (15,-30.3) [lbluecell] {\textbf{\#}};
\node(246) at (16,-14.3) [lbluecell] {\textbf{r}};
\node(247) at (16,-15.3) [lbluecell] {\textbf{i}};
\node(248) at (16,-16.3) [lbluecell] {\textbf{n}};
\node(249) at (16,-17.3) [lbluecell] {\textbf{g}};
\node(250) at (16,-18.3) [lbluecell] {\textbf{\#}};
\node(251) at (17,-14.3) [lbluecell] {\textbf{␣}};
\node(252) at (17,-15.3) [lbluecell] {\textbf{e}};
\node(253) at (17,-16.3) [lbluecell] {\textbf{n}};
\node(254) at (17,-17.3) [lbluecell] {\textbf{g}};
\node(255) at (17,-18.3) [lbluecell] {\textbf{i}};
\node(256) at (17,-19.3) [lbluecell] {\textbf{n}};
\node(257) at (17,-20.3) [lbluecell] {\textbf{e}};
\node(258) at (17,-21.3) [lbluecell] {\textbf{e}};
\node(259) at (17,-22.3) [lbluecell] {\textbf{r}};
\node(260) at (17,-23.3) [lbluecell] {\textbf{i}};
\node(261) at (17,-24.3) [lbluecell] {\textbf{n}};
\node(262) at (17,-25.3) [lbluecell] {\textbf{g}};
\node(263) at (17,-26.3) [lbluecell] {\textbf{\#}};
\node(264) at (18,-14.3) [lbluecell] {\textbf{\#}};
\draw[thick,blue,-o] (0) -- +(0,-0.6) -| node {} (1);
\draw[thick,blue,-o] (1) -- +(0,-0.6) -| node {} (2);
\draw[thick,blue,-o] (2) -- +(0,-0.6) -| node {} (3);
\draw[thick,orange,-o] (3) -- +(0,-0.6) -| node {} (4);
\draw[thick,blue,-o] (2) -- +(0,-0.6) -| node {} (8);
\draw[thick,magenta,-o] (8) -- +(0,-0.6) -| node {} (9);
\draw[thick,blue,-o] (1) -- +(0,-0.6) -| node {} (13);
\draw[thick,blue,-o] (13) -- +(0,-0.6) -| node {} (14);
\draw[thick,cyan,-o] (14) -- +(0,-0.6) -| node {} (15);
\draw[thick,cyan,-o] (15) -- +(0,-0.6) -| node {} (17);
\draw[thick,blue,-o] (0) -- +(0,-0.6) -| node {} (22);
\draw[thick,blue,-o] (22) -- +(0,-0.6) -| node {} (23);
\draw[thick,blue,-o] (23) -- +(0,-0.6) -| node {} (24);
\draw[thick,yellow,-o] (24) -- +(0,-0.6) -| node {} (25);
\draw[thick,yellow,-o] (25) -- +(0,-0.6) -| node {} (27);
\draw[thick,olive,-o] (27) -- +(0,-0.6) -| node {} (28);
\draw[thick,blue,-o] (22) -- +(0,-0.6) -| node {} (34);
\draw[thick,orange,-o] (4) -- +(0,-0.6) -| node {} (5);
\draw[thick,orange,-o] (4) -- +(0,-0.6) -| node {} (6);
\draw[thick,orange,-o] (3) -- +(0,-0.6) -| node {} (7);
\draw[thick,magenta,-o] (9) -- +(0,-0.6) -| node {} (10);
\draw[thick,magenta,-o] (9) -- +(0,-0.6) -| node {} (11);
\draw[thick,magenta,-o] (8) -- +(0,-0.6) -| node {} (12);
\draw[thick,cyan,-o] (15) -- +(0,-0.6) -| node {} (16);
\draw[thick,purple,-o] (17) -- +(0,-0.6) -| node {} (18);
\draw[thick,purple,-o] (17) -- +(0,-0.6) -| node {} (19);
\draw[thick,cyan,-o] (14) -- +(0,-0.6) -| node {} (20);
\draw[thick,blue,-o] (13) -- +(0,-0.6) -| node {} (21);
\draw[thick,yellow,-o] (25) -- +(0,-0.6) -| node {} (26);
\draw[thick,olive,-o] (28) -- +(0,-0.6) -| node {} (29);
\draw[thick,olive,-o] (28) -- +(0,-0.6) -| node {} (30);
\draw[thick,olive,-o] (27) -- +(0,-0.6) -| node {} (31);
\draw[thick,yellow,-o] (24) -- +(0,-0.6) -| node {} (32);
\draw[thick,blue,-o] (23) -- +(0,-0.6) -| node {} (33);
\draw[thick,blue,-o] (34) -- +(0,-0.6) -| node {} (35);
\draw[thick,blue,-o] (34) -- +(0,-0.6) -| node {} (36);
};
\end{tikzpicture}
\end{center}
\caption{The binary lcp-interval tree with the $suftab$ and the $lcptab$ for the sequence $S$.}
\label{fig:bitree}
\end{figure}
